hadoop的rpc同异步转换原理 您所在的位置:网站首页 rpc 异步 hadoop的rpc同异步转换原理

hadoop的rpc同异步转换原理

#hadoop的rpc同异步转换原理| 来源: 网络整理| 查看: 265

一、hadoop通过call的wait和notify方式实现异步消息交互和同步调用的转换。

      调用者线程首先创建动代理,在实现InvocationHandler接口的invoke方法中,通过调用rpc.client.call(Invocation,RemoteServerID),在client的call方法中将Invocation作为参数创建Call对象,发送请求后,Call对象.wait()等待响应结果返回,当Server.handler线程取得结果后,会notify调用者线程,通知其结果返回。

二、同异步转换原理。

         hadoop的rpc底层使用异步发送数据;上层以同步方式暴露接口。客户端发起的RPC调用是同步的,而服务端处理RPC调用是异步的。客户端调用线程以阻塞同步的方式发起RPC连接及RPC调用,将参数等信息发送给Listener,然后等待Connection接收响应返回。Listener负责接收RPC连接和RPC数据,当一个Call的数据接收完后,组装成Call,并将Call放入由Handler提供的Call队列中。Handler线程监听Call队列,如果Call队列不为空,则按FIFO方式取出Call,并转为实际调用,以非阻塞方式将响应发回给Connection,未发送完毕的响应交给Responder处理。

交互过程如下图所示:

bubuko.com,布布扣

参考:http://www.alidata.org/archives/1413

hadoop的rpc同异步转换原理,布布扣,bubuko.com

hadoop的rpc同异步转换原理

原文:http://blog.csdn.net/zcc_0015/article/details/22696135



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有